#ifndef AbstractResource_h__
#define AbstractResource_h__
#pragma once

#include <string>

namespace le
{
	class ObjectVisitor;
}

namespace le
{
	class AbstractResource
	{
	public:
		AbstractResource(const std::string& resourceId);
		virtual ~AbstractResource();

		const std::string& GetGUID() const ;

		virtual bool Visit(const le::ObjectVisitor& visitor) = 0;

	private:
		std::string m_ResourceId;
	};
}

#endif // AbstractResource_h__